#include<stdio.h>
int main()
{
	int a = -6;
	//1000 0000 0000 0000 0000 0000 0000 0110
//补码1111 1111 1111 1111 1111 1111 1111 1010
	unsigned int b = 3;
	//0000 0000 0000 0000 0000 0000 0000 0011
	printf("%d\n", a + b);
	//以%d类型输出时，将a、b进行补码运算，然后转为有符号整型
//加：1111 1111 1111 1111 1111 1111 1111 1101 
//原码1000 0000 0000 0000 0000 0000 0000 0011-（-3）	
	//或者将a和b依次转为有符号整型然后运算
	//无符号数b=3转为有符号数仍旧是3，所以结果为-3
	if ((a + b) > 20)
		//这里发生隐式算数转换，int 向 unsigned int转换
		//将符号位当作数值进行运算，而不是当作正负号，则b就会变得极大    
	{
		printf("yes\n");
	}
	else
	{
		printf("no\n");
	}						
	return 0;
}
